В языке программирования Rust, профили выпуска представляют собой заранее заданные конфигурации, которые позволяют разработчикам контролировать компромисс между временем компиляции и производительностью во время выполнения. Настройка этих параметров позволяет адаптировать поведение компилятора под ваш текущий рабочий процесс — будь то быстрая итерация или производственная развертывание.
1. Профили разработки и выпуска
Cargo имеет два основных профиля: dev (используется при cargo build) и release (используется при cargo build --release). Профиль разработки оптимизирован для быстрой компиляции, но приводит к более медленному выполнению кода, в то время как профиль выпуска тратит больше времени на оптимизацию машинного кода для максимальной эффективности.
2. Настройка уровня оптимизации
Настройка opt-level настройка является основным средством контроля производительности. Она варьируется от 0 до 3:
- 0: Без оптимизации. Быстрая сборка, медленный код. (По умолчанию для dev)
- 1–2: Средние оптимизации.
- 3: Агрессивные оптимизации. Медленная сборка, самый быстрый код. (По умолчанию для release)
- "s" или "z": Оптимизирует размер бинарного файла вместо скорости.
| Профиль | Уровень оптимизации по умолчанию | Цель |
|---|---|---|
| dev | 0 | Быстрая итерация |
| release | 3 | Производительность в релизе |
3. Настройка профилей
Вы можете переопределить эти значения по умолчанию в файле Cargo.toml. Это полезно, когда неоптимизированный код слишком медленный для тестирования (например, при сложных симуляциях), но полная сборка релиза занимает слишком много времени.
opt-level = 1 # Более быстрый код, чем уровень 0, при этом сборка остаётся быстрой